package com.xique.door.service;

import com.xique.door.bean.domain.CardDevice;
import com.xique.door.bean.request.card.CardCommandSearchRequest;
import com.xique.door.bean.vo.card.CardCommandVo;

import java.util.List;

/**
 * deviceService接口
 * 
 * @author caogq
 * @date 2022-02-26
 */
public interface IDCardDeviceService 
{
    /**
     * 查询device
     * 
     * @param id deviceID
     * @return device
     */
    public CardDevice selectDCardDeviceById(Long id);

    /**
     * 查询device列表
     * 
     * @param cardDevice device
     * @return device集合
     */
    public List<CardDevice> selectDCardDeviceList(CardDevice cardDevice);

    /**
     * 新增device
     * 
     * @param cardDevice device
     * @return 结果
     */
    public int insertDCardDevice(CardDevice cardDevice);

    /**
     * 修改device
     * 
     * @param cardDevice device
     * @return 结果
     */
    public int updateDCardDevice(CardDevice cardDevice);

    /**
     * 批量删除device
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteDCardDeviceByIds(String ids);

    /**
     * 删除device信息
     * 
     * @param id deviceID
     * @return 结果
     */
    public int deleteDCardDeviceById(Long id);

    public int deleteDCardDeviceByIds(List<Long> ids);

    int batchUpdateCardDevice(List<CardDevice> cardDevices);

    List<CardCommandVo> selectCardCommandList(CardCommandSearchRequest request);

    int batchInsertCardDevices(List<CardDevice> cardDevices);
}
